// 导入 Joi 来定义验证规则
const Joi = require("joi");
const expressJoi = require("@escook/express-joi");
// // 用户名的验证规则
// const username = joi.string().alphanum().min(1).max(10).required();
// // 密码的验证规则
// const password = joi
//   .string()
//   .pattern(/^[\S]{6,12}$/)
//   .required();
const userInfoSchema = {
  // 2.1 校验 req.body 中的数据
  body: {
    id: Joi.number().integer().min(1).required(),
    nickname: Joi.string().alphanum().min(3).max(12).required(),
    email: Joi.string().email().required(),
  },
};
const update_password_schema = {
  // 2.1 校验 req.body 中的数据
  body: {
    oldPwd: Joi.string()
      .pattern(/^[\S]{6,15}$/)
      .required(),
    //Joi.ref("oldPwd")表示newPwd的值和oldPwd的值必须保持一致
    //Joi.not(Joi.ref("oldPwd"))表示newPwd的值和oldPwd的值不一致
    // concat() 用于合并 joi.not(joi.ref('oldPwd')) 和 password 这两条验证规则
    newPwd: Joi.not(Joi.ref("oldPwd")).concat(
      Joi.string()
        .pattern(/^[\S]{6,15}$/)
        .required()
    ),
  },
};
const update_avatar_schema = {
  body: {
    // dataUri() 指的是如下格式的字符串数据：
    // 
    avatar: Joi.string().dataUri().required(),
  },
};
module.exports = {
  userInfoSchema,
  update_password_schema,
  update_avatar_schema,
};
